@echo off
chcp 65001 >nul
echo ========================================
echo 3D立体库货位管理系统 - 关闭所有服务
echo ========================================
echo.

echo 正在关闭所有相关进程...
echo.

REM 关闭Node.js相关进程
echo 关闭Node.js进程...
taskkill /f /im node.exe /t 2>nul
if %errorlevel% equ 0 (
    echo  成功关闭Node.js进程
) else (
    echo  未找到运行中的Node.js进程
)
echo.

REM 关闭cmd窗口进程(通过窗口标题)
echo 关闭相关命令行窗口...
taskkill /f /fi "windowtitle eq Backend API Server" 2>nul
taskkill /f /fi "windowtitle eq Database Service" 2>nul
taskkill /f /fi "windowtitle eq PLC Service" 2>nul
taskkill /f /fi "windowtitle eq Queue Service" 2>nul
taskkill /f /fi "windowtitle eq Rules Engine" 2>nul
taskkill /f /fi "windowtitle eq Node-RED" 2>nul

REM 尝试通过不同的方式关闭窗口
taskkill /f /fi "windowtitle eq *Backend API Server*" 2>nul
taskkill /f /fi "windowtitle eq *Database Service*" 2>nul
taskkill /f /fi "windowtitle eq *PLC Service*" 2>nul
taskkill /f /fi "windowtitle eq *Queue Service*" 2>nul
taskkill /f /fi "windowtitle eq *Rules Engine*" 2>nul
taskkill /f /fi "windowtitle eq *Node-RED*" 2>nul
echo 已尝试关闭所有相关命令行窗口
echo.

REM 关闭可能的npm进程
echo 关闭npm相关进程...
taskkill /f /im npm.exe 2>nul
if %errorlevel% equ 0 (
    echo 成功关闭npm进程
) else (
    echo 未找到运行中的npm进程
)
echo.

REM 关闭Vite开发服务器窗口
echo 关闭前端开发服务器窗口...
taskkill /f /fi "windowtitle eq *vite*" 2>nul
taskkill /f /fi "windowtitle eq *Vite*" 2>nul
echo 已尝试关闭前端开发服务器窗口
echo.

REM 关闭所有cmd.exe进程（除了当前进程）
echo 关闭其他命令行窗口...
for /f "tokens=2" %%i in ('tasklist /fi "imagename eq cmd.exe" /fo csv ^| find /v "PID" ^| find /v "%PID%"') do (
    taskkill /f /pid %%i 2>nul
)
echo 已尝试关闭其他命令行窗口
echo.

echo ========================================
echo 所有服务已关闭!
echo ========================================
echo.

echo.
echo 按任意键关闭此窗口...
pause >nul